<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <title>首页</title>
    <meta http-equiv="description" content="bluewind-boot后台权限管理系统"/>
    <meta http-equiv="keywords" content="蓝风软件,后台管理,权限管理,Java,SpringBoot,后台权限管理"/>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta http-equiv="Access-Control-Allow-Origin" content="*">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="format-detection" content="telephone=no">
    <link rel="icon" th:href="@{/images/favicon.ico}">
    <link rel="stylesheet" th:href="@{/lib/layui/css/layui.css}" media="all">
    <link rel="stylesheet" th:href="@{/css/layuimini.css}" media="all">
    <link rel="stylesheet" th:href="@{/css/index.css}" media="all">
    <link rel="stylesheet" th:href="@{/css/themes/default.css}" media="all">
    <link rel="stylesheet" th:href="@{/lib/font-awesome-4.7.0/css/font-awesome.min.css}" media="all">
    <!--[if lt IE 9]>
    <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
    <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
    <style id="layuimini-bg-color">
    </style>
</head>
<body class="layui-layout-body layuimini-all">
<div class="layui-layout layui-layout-admin">

    <div class="layui-header header">
        <div class="layui-logo layuimini-logo"></div>

        <div class="layuimini-header-content">
            <a>
                <div class="layuimini-tool"><i title="展开" class="fa fa-outdent" data-side-fold="1"></i></div>
            </a>

            <!--电脑端头部菜单-->
            <ul class="layui-nav layui-layout-left layuimini-header-menu layuimini-menu-header-pc layuimini-pc-show">
            </ul>

            <!--手机端头部菜单-->
            <ul class="layui-nav layui-layout-left layuimini-header-menu layuimini-mobile-show">
                <li class="layui-nav-item">
                    <a href="javascript:;"><i class="fa fa-list-ul"></i> 选择模块</a>
                    <dl class="layui-nav-child layuimini-menu-header-mobile">
                    </dl>
                </li>
            </ul>

            <ul class="layui-nav layui-layout-right">
                <li class="layui-nav-item mobile layui-hide-xs" lay-unselect>
                    <span id="nowTime" style="padding: 0 20px;font-weight: bold;font-size: 14px;color: #979797"></span>
                </li>
                <li class="layui-nav-item" lay-unselect>
                    <a href="javascript:;" data-lock="锁屏" id="lock-screen"><i class="fa fa-lock"></i></a>
                </li>
                <li class="layui-nav-item" lay-unselect>
                    <a href="javascript:;" data-refresh="刷新"><i class="fa fa-refresh"></i></a>
                </li>
                <li class="layui-nav-item" lay-unselect>
                    <a href="javascript:;" data-clear="清理" class="layuimini-clear"><i class="fa fa-trash-o"></i></a>
                </li>
                <li class="layui-nav-item mobile layui-hide-xs" lay-unselect>
                    <a href="javascript:;" data-check-screen="full"><i class="fa fa-arrows-alt"></i></a>
                </li>
                <li class="layui-nav-item" lay-unselect th:if="${not #strings.isEmpty(userInfo.avatarPreUrl)}">
                    <img class="avatar-index" th:src="${userInfo.avatarPreUrl}">
                </li>
                <li class="layui-nav-item layuimini-setting">
                    <a href="javascript:;" th:text="${userInfo.account}"></a>
                    <dl class="layui-nav-child">
                        <dd>
                            <a href="javascript:;" layuimini-content-href="/admin/userInfo" data-title="基本资料" id="userInfo"
                               data-icon="fa fa-gears">基本资料</a>
                        </dd>
                        <dd>
                            <a href="javascript:;" layuimini-content-href="/admin/updatePassword" data-title="修改密码" id="updatePassword"
                               data-icon="fa fa-gears">修改密码</a>
                        </dd>
                        <dd>
                            <hr>
                        </dd>
                        <dd>
                            <a th:href="@{'/admin/outLogin'}" class="login-out">退出登录</a>
                        </dd>
                    </dl>
                </li>
                <li class="layui-nav-item layuimini-select-bgcolor" lay-unselect>
                    <a href="javascript:;" data-bgcolor="配色方案"><i class="fa fa-ellipsis-v"></i></a>
                </li>
            </ul>
        </div>
    </div>

    <!--无限极左侧菜单-->
    <div class="layui-side layui-bg-black layuimini-menu-left">
    </div>

    <!--初始化加载层-->
    <div class="layuimini-loader">
        <div class="layuimini-loader-inner"></div>
    </div>

    <!--手机端遮罩层-->
    <div class="layuimini-make"></div>

    <!-- 移动导航 -->
    <div class="layuimini-site-mobile"><i class="layui-icon"></i></div>

    <div class="layui-body">

        <div class="layuimini-tab layui-tab-rollTool layui-tab" lay-filter="layuiminiTab" lay-allowclose="true">
            <ul class="layui-tab-title">
                <li class="layui-this" id="layuiminiHomeTabId" lay-id=""></li>
            </ul>
            <div class="layui-tab-control">
                <li class="layuimini-tab-roll-left layui-icon layui-icon-left"></li>
                <li class="layuimini-tab-roll-right layui-icon layui-icon-right"></li>
                <li class="layui-tab-tool layui-icon layui-icon-down">
                    <ul class="layui-nav close-box">
                        <li class="layui-nav-item">
                            <a href="javascript:;"><span class="layui-nav-more"></span></a>
                            <dl class="layui-nav-child">
                                <dd><a href="javascript:;" layuimini-tab-close="current">关 闭 当 前</a></dd>
                                <dd><a href="javascript:;" layuimini-tab-close="other">关 闭 其 他</a></dd>
                                <dd><a href="javascript:;" layuimini-tab-close="all">关 闭 全 部</a></dd>
                            </dl>
                        </li>
                    </ul>
                </li>
            </div>
            <div class="layui-tab-content">
                <div id="layuiminiHomeTabIframe" class="layui-tab-item layui-show"></div>
            </div>
        </div>

    </div>
</div>


<!-- 锁屏窗口 -->
<div style="display: none" id="lock-container">
    <form class="layui-form" action="" lay-filter="formLock">
        <div class="admin-header-lock" id="lock-box">
            <div class="admin-header-lock-img">
                <img th:if="${not #strings.isEmpty(userInfo.avatarPreUrl)}" th:src="${userInfo.avatarPreUrl}"/>
            </div>
            <div class="input_btn">
                <input type="text" class="layui-input admin-header-lock-input" placeholder="请输入登录密码" name="password"
                       onclick="this.type='password'"/>
                <button class="layui-btn" lay-submit lay-filter="formLock">解锁</button>
            </div>
            <input type="text" readonly style="height: 20px;line-height: 20px;color: #FF5722;border: none" name="lockMsg"/>
        </div>
    </form>
</div>
<script th:src="@{/lib/jquery-3.4.1/jquery-3.4.1.min.js}" charset="utf-8"></script>
<script th:src="@{/lib/layui/layui.js}" charset="utf-8"></script>
<script th:src="@{/js/lay-config.js}" charset="utf-8"></script>
<script th:src="@{/lib/md5/md5.min.js}" charset="utf-8"></script>
<script type="text/javascript" th:inline="javascript">
    AjaxUtil.ctx = /*[[@{/}]]*/'';
    layui.use(['layer', 'miniAdmin', 'miniTongji', 'form'], function () {
        var layer = layui.layer,
            form = layui.form,
            miniAdmin = layui.miniAdmin,
            miniTongji = layui.miniTongji;

        var options = {
            iniUrl: AjaxUtil.ctx + "admin/menuInit",    // 初始化接口
            clearUrl: AjaxUtil.ctx + "api/clear.json", // 缓存清理接口
            urlHashLocation: false,      // 是否打开hash定位
            bgColorDefault: false,      // 主题默认配置
            multiModule: true,          // 是否开启多模块
            menuChildOpen: false,       // 是否默认展开菜单
            loadingTime: 0,             // 初始化加载时间
            pageAnim: true,             // iframe窗口动画
            maxTabNum: 20,              // 最大的tab打开数量
            isHideOpenMenu: true,       // 点击左侧下拉菜单，关闭其他下拉菜单(手风琴模式)
        };
        miniAdmin.render(options);

        // 百度统计代码，只统计指定域名
        miniTongji.render({
            specific: true,
            domains: [
                '99php.cn',
                'layuimini.99php.cn',
                'layuimini-onepage.99php.cn',
            ],
        });

        // 设置动态时间显示
        setInterval("$('#nowTime').html(new Date().toLocaleString());", 1000);


        // 动态修改layuimini-content-href
        $("#userInfo").attr("layuimini-content-href", AjaxUtil.ctx + 'admin/userInfo');
        $("#updatePassword").attr("layuimini-content-href",  AjaxUtil.ctx + 'admin/updatePassword');


        $('.login-out').on("click", function () {
            layer.msg('退出登录成功', function () {
                window.location.href = AjaxUtil.ctx + 'admin/outLogin';
            });
        });


        // 判断是否锁屏
        if (window.localStorage.getItem("lockflag") == "true") {
            setTimeout(function () {
                lockPage();
            }, 1000)
        }

        // 点击锁屏
        $('#lock-screen').click(function () {
            lockPage();
            window.localStorage.setItem("lockflag", true);
        });

        // 点击解锁
        form.on('submit(formLock)', function (res) {
            var data = res.field;

            // Thymeleaf在js中直接获取model中的值
            let account = [[${userInfo.account}]];
            let password = md5.MD5(data.password)

            if (!data.password) {
                form.val("formLock", {
                    lockMsg: '请输入密码'
                });
                return false;
            }

            var index = layer.load(0, {shade: 0.1}); //0代表加载的风格，支持0-2
            AjaxUtil.post({
                url: AjaxUtil.ctx + 'admin/unlock',
                data: {
                    "account": account,
                    "password": password
                },
                success: function (res) {
                    layer.close(index);
                    if (0 == res.code) {
                        window.localStorage.setItem("lockflag", false);
                        form.val("formLock", {
                            password: '',
                            lockMsg: ''
                        });
                        unlockPage();
                    } else {
                        form.val("formLock", {
                            lockMsg: res.message
                        });
                    }
                },
                error: function (res) {
                    layer.close(index);
                    form.val("formLock", {
                        lockMsg: '服务器异常！'
                    });
                }
            });

            return false;
        });

    });


    // 锁屏
    function lockPage() {
        layer.open({
            title: false,
            type: 1,
            content: $('#lock-container'),
            closeBtn: 0,
            shade: [1, '#49A9EE'],
        })
        checkF12(false);
    }

    // 解锁屏
    function unlockPage() {
        layer.closeAll("page");
        checkF12(true);
    }


    // 禁用网页检查，true允许，false进制
    function checkF12(flag) {
        document.onkeydown = function () {
            if (event.keyCode == 123) {
                return flag;
            }
        };
        $(document).ready(function () {
            $(document).bind("contextmenu", function (e) {
                return flag;
            });
        });
    }
</script>
</body>
</html>
